package com.hua.fanqiemall.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hua.common.utils.PageUtils;
import com.hua.fanqiemall.product.entity.CategoryEntity;

import java.util.List;
import java.util.Map;

/**
 * 商品三级分类
 *
 * @author luoweihua
 * @email lwh_559@163.com
 * @date 2021-12-09 22:14:00
 */
public interface CategoryService extends IService<CategoryEntity> {
    /**
     * 分页查询
     * @author luoweihua
     * @date 2022/1/10 23:09
     * @param params
     * @return PageUtils
     */
    PageUtils queryPage(Map<String, Object> params);

    /**
     * 获取商品三级分类的树形结果
     * @author luoweihua
     * @date 2021/12/12 17:07
     * @return List<CategoryEntity>
     */
    List<CategoryEntity> listWithTree();

    /**
     * 根据id列表删除菜单
     * @author luoweihua
     * @date 2021/12/13 23:05
     * @param list
     * @return Boolean
     */
    Boolean removeMenuByIds(List<Long> list);

    /**
     * 根据目录id获取目录完整路径
     * @author luoweihua
     * @date 2022/1/5 22:39
     * @param catelogId
     * @return Long[]
     */
    Long[] findCatelogPath(Long catelogId);

    /**
     * 级联更新所有关联的数据
     * @author luoweihua
     * @date 2022/1/10 22:57
     * @param category
     */
    void updateCascade(CategoryEntity category);
}

